package com.zhang.family_doctor.service;

import com.zhang.family_doctor.dto.PackagesListDto;
import com.zhang.family_doctor.dto.PackagesDto;
import com.zhang.family_doctor.entity.R;
import com.zhang.family_doctor.vo.PackagesVO;

import javax.servlet.http.HttpServletRequest;

public interface PackagesService {

    /**
     * 新增服务包
     * @param packagesDto
     * @param request
     * @return
     */
    R<String> save(PackagesDto packagesDto, HttpServletRequest request);

    /**
     * 审核服务包
     * @param id 服务包id
     * @param request
     * @return
     */
    R<String> process(Integer id, HttpServletRequest request);

    /**
     * 服务包驳回
     * @param id
     * @param rejectionContent 驳回说明
     * @param request
     * @return
     */
    R<String> reject(Integer id, String rejectionContent, HttpServletRequest request);

    /**
     * 服务包停用
     * @param id
     * @param request
     * @return
     */
    R<String> disable(Integer id, HttpServletRequest request);

    /**
     * 服务包启用
     * @param id
     * @param request
     * @return
     */
    R<String> enable(Integer id, HttpServletRequest request);

    /**
     * 编辑服务包
     * @param packagesDto
     * @param request
     * @return
     */
    R<String> updatePackage(PackagesDto packagesDto, HttpServletRequest request);

    /**
     * 根据服务包类型查询
     * @param getPackagesDto
     * @return
     */
    R<PackagesListDto> getAll(PackagesListDto getPackagesDto);

    /**
     * 查看服务包详情
     * @param id
     * @return
     */
    R<PackagesVO> getPackageDetails(Integer id);
}
